package com.medical.data.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.medical.data.domain.FollowUpPatient;
import com.medical.data.vo.FollowDataVo;
import com.medical.data.vo.FollowUpDay;
import com.medical.data.vo.GetPatientByDataVo;
import com.medical.data.vo.OpenFollowUpVo;

import java.util.Date;
import java.util.List;
import java.util.Map;

public interface FollowPatientService extends IService<FollowUpPatient> {
    void addFollowPatient(OpenFollowUpVo openFollowUpVo, String jsonString, String followUpNodesString);

    Map<String, Object> getPatientByDate(GetPatientByDataVo getPatientByDataVo);

    void updateStatus(String nodeId,String patientId);

    void updateIsDown(String patientId, boolean isDown);

    Map<String, Object> getPatientByDay(FollowUpDay followUpDay);

    Boolean isExistPatient(String patientId);

    void addPatient(FollowUpPatient followUpPatient);

    void updateIsDownAndTime(String patientId, Date followUpTime, boolean isDown);

    Map<String, Object> getPatientStatus();

    FollowUpPatient getPatientById(String id);

    void updateRemindStatus(String id);

    Boolean getRemindById(String id);

    void deleteFollowPatientById(String patientId);

    int getFollowFinishNumber();

    int getTodayFollowFinishNumber();


    int getFollowNoFinishNumber();

    int getTodayNoFollowFinishNumber();


    FollowDataVo getFollowUpData(String id,String nodeId);
}
